草庐IT

c++ - Swig -includeall 除了...

全部标签

c++ - 结束字符 `\0`算一个字符还是两个字符?

当我试图更多地了解一些函数的行为时,我举了两个例子:charstr[]="Hello\0World"和charstr[100];scanf("%s",str);//enterthesamestring"Hello\0world"这里的问题是,在第一个示例中我得到了Hello而在第二个示例中我得到了Hello\0world为什么\和0这两个字符在第一个而不是第二个中被解释为字符串的结束字符? 最佳答案 \0是一个转义序列,虽然它在源文件中由两个字符组成,但在字符串中被解释为单个字符,即null特点。但是,这种特殊的解释只发生在源文件中

c++ - cc1.exe 系统错误 - 缺少 libwinpthread-1.dll - 但它不是

我最近从Sourceforge下载了MinGW-w64到我的外部硬盘驱动器上,所有文件都位于:E:\mingw-w64\x86_64-4.9.2-posix-seh-rt_v3-rev1\mingw64\bin当我尝试在Windows8.1上使用gcc编译我的第一个“HelloWorld”程序时,我收到cc1.exe系统错误,它告诉我Theprogramcan'tstartbecauselibwinpthread-1.dllismissing.Tryreinstallingtheprogramtofixtheproblem.然而,libwinpthread-1.dll(它的全部54,7

c++ - 根据 C/C++ 标准, "'“与 "\' 相同”吗?

intmain(){char*str1="Tom'scat";char*str2="Tom\'scat";}代码可以用VS2015编译。我只是想知道:这两种方式是否都符合C和/或C++标准? 最佳答案 来自C++11ISO标准§2.14.5StringLiterals[lex.string]...15Escapesequencesanduniversal-character-namesinnon-rawstringliteralshavethesamemeaningasincharacterliterals(2.14.3),exce

c++ - C++17 std::basic_string_view 是否会使 C 字符串的使用无效?

C++17正在引入std::basic_string_view,它是非拥有字符串版本,其类仅存储指向字符串第一个元素的指针和字符串的大小。还有理由继续使用C字符串吗? 最佳答案 IstherestillareasontokeepusingCstrings?我认为可以公平地说,除了使用CAPI之外,从来没有有理由使用C字符串。在设计只需要字符的只读表示的函数或方法的接口(interface)时,您会更喜欢std::string_view。例如。搜索字符串、生成大写拷贝、打印它等等。在设计一个接受字符串拷贝的接口(interface)时

c++ - C++ 与 C 中函数调用中的 void 指针

我有一段代码可以在C中运行,但不能在C++中运行,是否有任何方法可以让它在C和C++上运行?voidfoo(void*b){int*c=b;printf("%d\n",*c);}intmain(){inta=1000;foo(&a);return0;}输出:C++:1Infunction'voidfoo(void*)':2Line3:error:invalidconversionfrom'void*'to'int*'3compilationterminateddueto-Wfatal-errors.C:1000请帮忙 最佳答案 in

java - 从其他语言(如 Java、PHP、Perl、Python 等)调用 C/C++ 代码的最佳方式是什么?

从其他语言(如Java、Python、Perl、PHP等)调用C/C++的最佳方式是什么? 最佳答案 来自PerlInline::CInline::CPPInline::JavaInline::PythonInline::Lua摘自Inline::C-Cookbook:useInlineC=> 关于java-从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?,我们在StackOverflow上找到一个类似的问题: h

c++ - mpeg 2解码

我想了解视频和音频解码的工作原理,特别是定时同步(如何获得30fps视频,如何将其与音频耦合等)。我不想知道所有的细节,只想知道它的本质。我希望能够编写一个实际视频/音频解码器的高级简化版。你能给我指点一下吗?我认为,MPEG2视频/音频解码器的实际C/C++源代码将是理解这些内容的最快方式。 最佳答案 从有效的编解码器中读取源代码似乎是正确的方法。我建议如下:http://www.mpeg.org/MPEG/video/mssg-free-mpeg-software.html鉴于mpeg.org网站上提到了它,我想你会在这里找到你

C++ - 具有下限/上限的循环数组?

我想创建类似于双链表(但使用数组)的东西,它适用于下限/上限。一个典型的圆形阵列可能是这样的:next=(current+1)%count;previous=(current-1)%count;但是将下限/上限正确地合并到其中的数学算法是什么?0(下限项1)12(上限项1)3(下限项2)4(上限项2)这样:->nextonindex2foritem1返回0->项目1的索引0上的上一个返回2->nextonindex4foritem2返回3->项目2的索引3上的上一个返回4谢谢!注意:不能使用外部库。 最佳答案 一般的数学术语:nex

c++ - C/C++ 很酷的宏定义?

除了__LINE__和__FILE__,还有其他有用的预定义宏吗,比如__FUNCTION_NAME__?如果没有,但您知道其他很酷/有用的已定义宏(尤其是用于调试目的),我很想听听它们。有人问过平台:我在MacOSX上使用gcc/g++。 最佳答案 我可以找到以下内容(来自C99草案的描述,但我认为它们在C89中也可用):__DATE__:预处理翻译单元的翻译日期:一个字符形式为“Mmmddyyyy”的字符串文字,其中月份与asctime函数生成的月份相同,并且如果值小于10,dd的第一个字符是空格字符。如果翻译日期不可用,一个实

c++ - 'long long int' 被解释为 'long int' 。我该如何解决这个问题?

我正在为我的大学数学类(class)做一个涉及C语言编程的项目。我需要能够处理比可以存储在“longint”数据类型中的大整数更大的整数。所以我尝试使用“longlongint”,但如果我尝试这样的事情:longlongintnumber;number=10000000000;然后错误消息显示'错误:整数常量对于“长”类型来说太大'。我已经尝试过其他数据类型,例如“___int64”和“int_64t”我已经尝试过包括所有标准c库,但我仍然遇到同样的问题。奇怪的是,当我尝试'printf("LLONG_MAX=%lld\n",LLONG_MAX);'时,我得到了这个:LLONG_MAX